class Person {
  constructor(name, age) {
    // 实例属性
    this.name = name;
    this.age = age;
  }

  // 下面写法为：实例属性
  //   getName = function () {
  //     console.log('匿名函数this', this);
  //     return this.name;
  //   };

  // 下面写法为：原型属性
  getName() {
    console.log('匿名函数this', this);
    return this.name;
  }

  // 下面写法为：实例属性
  getAge = () => {
    console.log('箭头函数this', this);
    return this.age;
  };
}

const peter = new Person('peter', 35);

console.log(peter.getName());
console.log(peter.getAge());
console.log(Object.hasOwnProperty.call(peter, 'getName'));
console.log(Object.hasOwnProperty.call(peter, 'getAge'));
